{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Load data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "\n",
    "url_univdorm= 'https://raw.githubusercontent.com/irenekarijadi/RF-LSTM-CEEMDAN/main/Dataset/data%20of%20UnivDorm_Prince.csv'\n",
    "univdorm= pd.read_csv(url_univdorm)\n",
    "data_univdorm= univdorm[(univdorm['timestamp'] > '2015-03-01') & (univdorm['timestamp'] < '2015-06-01')]\n",
    "dfs_univdorm=data_univdorm['energy']\n",
    "datas_univdorm=pd.DataFrame(dfs_univdorm)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## import libraries"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import sys\n",
    "import warnings\n",
    "\n",
    "if not sys.warnoptions:\n",
    "    warnings.simplefilter('ignore')\n",
    "\n",
    "from PyEMD import CEEMDAN\n",
    "import numpy\n",
    "import math\n",
    "import tensorflow as tf\n",
    "from tensorflow import keras\n",
    "from keras.models import Sequential\n",
    "from keras.layers import Dense\n",
    "from keras.layers import LSTM\n",
    "from sklearn import metrics\n",
    "\n",
    "import time\n",
    "import dataframe_image as dfi\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Import all functions from another notebook for building prediction methods"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import Setting\n",
    "from myfunctions import lr_model,svr_model,ann_model,rf_model,lstm_model,hybrid_ceemdan_rf,hybrid_ceemdan_lstm,proposed_method"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Import parameter settings"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "hours=Setting.n_hours\n",
    "data_partition=Setting.data_partition\n",
    "max_features=Setting.max_features\n",
    "epoch=Setting.epoch\n",
    "batch_size=Setting.batch_size\n",
    "neuron=Setting.neuron\n",
    "lr=Setting.lr\n",
    "optimizer=Setting.optimizer"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Run the experiments\n",
    "### Run this following cell will train and test the proposed method and other benchmark methods on University Dormitory Dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "--- 0.3361339569091797 seconds - Linear Regression- univdorm ---\n",
      "--- 0.37977027893066406 seconds - Support Vector Regression- univdorm ---\n",
      "--- 1.9438598155975342 seconds - ANN- univdorm ---\n",
      "--- 1.1178853511810303 seconds - Random Forest- univdorm ---\n",
      "--- 11.987090110778809 seconds - lstm- univdorm ---\n",
      "--- 37.39340686798096 seconds - ceemdan_rf- univdorm ---\n",
      "--- 105.33316802978516 seconds - ceemdan_lstm- univdorm ---\n",
      "--- 103.585209608078 seconds - proposed_method- univdorm ---\n"
     ]
    }
   ],
   "source": [
    "#Linear Regression\n",
    "\n",
    "start_time = time.time()\n",
    "lr_univdorm=lr_model(datas_univdorm,hours,data_partition)\n",
    "lr_time_univdorm=time.time() - start_time\n",
    "print(\"--- %s seconds - Linear Regression- univdorm ---\" % (lr_time_univdorm))\n",
    "\n",
    "#Support Vector Regression\n",
    "start_time = time.time()\n",
    "svr_univdorm=svr_model(datas_univdorm,hours,data_partition)\n",
    "svr_time_univdorm=time.time() - start_time\n",
    "print(\"--- %s seconds - Support Vector Regression- univdorm ---\" % (svr_time_univdorm))\n",
    "\n",
    "\n",
    "#ANN\n",
    "start_time = time.time()\n",
    "ann_univdorm=ann_model(datas_univdorm,hours,data_partition)\n",
    "ann_time_univdorm=time.time() - start_time\n",
    "print(\"--- %s seconds - ANN- univdorm ---\" % (ann_time_univdorm))\n",
    "\n",
    "#random forest\n",
    "start_time = time.time()\n",
    "rf_univdorm=rf_model(datas_univdorm,hours,data_partition,max_features)\n",
    "rf_time_univdorm=time.time() - start_time\n",
    "print(\"--- %s seconds - Random Forest- univdorm ---\" % (rf_time_univdorm))\n",
    "\n",
    "#LSTM\n",
    "start_time = time.time()\n",
    "lstm_univdorm=lstm_model(datas_univdorm,hours,data_partition,max_features,epoch,batch_size,neuron,lr,optimizer)\n",
    "lstm_time_univdorm=time.time() - start_time\n",
    "print(\"--- %s seconds - lstm- univdorm ---\" % (lstm_time_univdorm))\n",
    "\n",
    "\n",
    "#CEEMDAN RF\n",
    "start_time = time.time()\n",
    "ceemdan_rf_univdorm=hybrid_ceemdan_rf(dfs_univdorm,hours,data_partition,max_features)\n",
    "ceemdan_rf_time_univdorm=time.time() - start_time\n",
    "print(\"--- %s seconds - ceemdan_rf- univdorm ---\" % (ceemdan_rf_time_univdorm))\n",
    "\n",
    "#CEEMDAN LSTM\n",
    "start_time = time.time()\n",
    "ceemdan_lstm_univdorm=hybrid_ceemdan_lstm(dfs_univdorm,hours,data_partition,max_features,epoch,batch_size,neuron,lr,optimizer)\n",
    "ceemdan_lstm_time_univdorm=time.time() - start_time\n",
    "print(\"--- %s seconds - ceemdan_lstm- univdorm ---\" % (ceemdan_lstm_time_univdorm))\n",
    "\n",
    "\n",
    "#proposed method\n",
    "start_time = time.time()\n",
    "proposed_method_univdorm=proposed_method(dfs_univdorm,hours,data_partition,max_features,epoch,batch_size,neuron,lr,optimizer)\n",
    "proposed_method_time_univdorm=time.time() - start_time\n",
    "print(\"--- %s seconds - proposed_method- univdorm ---\" % (proposed_method_time_univdorm))\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Summarize of experimental results with running time\n",
    "### Run this following cell will summarize the result and generate output used in Section 4.4 (Table 3) for University Dormitory dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>LR</th>\n",
       "      <th>SVR</th>\n",
       "      <th>ANN</th>\n",
       "      <th>RF</th>\n",
       "      <th>LSTM</th>\n",
       "      <th>CEEMDAN RF</th>\n",
       "      <th>CEEMDAN LSTM</th>\n",
       "      <th>Proposed Method</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>university dormitory results</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>MAPE(%)</th>\n",
       "      <td>6.096747</td>\n",
       "      <td>6.486764</td>\n",
       "      <td>6.719073</td>\n",
       "      <td>6.144907</td>\n",
       "      <td>6.829237</td>\n",
       "      <td>3.955034</td>\n",
       "      <td>4.080925</td>\n",
       "      <td>3.511434</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>RMSE</th>\n",
       "      <td>3.091409</td>\n",
       "      <td>3.386055</td>\n",
       "      <td>3.389476</td>\n",
       "      <td>3.172311</td>\n",
       "      <td>3.468066</td>\n",
       "      <td>2.007754</td>\n",
       "      <td>2.069735</td>\n",
       "      <td>1.761154</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>MAE</th>\n",
       "      <td>2.401101</td>\n",
       "      <td>2.590120</td>\n",
       "      <td>2.640636</td>\n",
       "      <td>2.435938</td>\n",
       "      <td>2.677671</td>\n",
       "      <td>1.550750</td>\n",
       "      <td>1.586834</td>\n",
       "      <td>1.369341</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>running time (s)</th>\n",
       "      <td>0.336134</td>\n",
       "      <td>0.379770</td>\n",
       "      <td>1.943860</td>\n",
       "      <td>1.117885</td>\n",
       "      <td>11.987090</td>\n",
       "      <td>37.393407</td>\n",
       "      <td>105.333168</td>\n",
       "      <td>103.585210</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                    LR       SVR       ANN        RF  \\\n",
       "university dormitory results                                           \n",
       "MAPE(%)                       6.096747  6.486764  6.719073  6.144907   \n",
       "RMSE                          3.091409  3.386055  3.389476  3.172311   \n",
       "MAE                           2.401101  2.590120  2.640636  2.435938   \n",
       "running time (s)              0.336134  0.379770  1.943860  1.117885   \n",
       "\n",
       "                                   LSTM  CEEMDAN RF  CEEMDAN LSTM  \\\n",
       "university dormitory results                                        \n",
       "MAPE(%)                        6.829237    3.955034      4.080925   \n",
       "RMSE                           3.468066    2.007754      2.069735   \n",
       "MAE                            2.677671    1.550750      1.586834   \n",
       "running time (s)              11.987090   37.393407    105.333168   \n",
       "\n",
       "                              Proposed Method  \n",
       "university dormitory results                   \n",
       "MAPE(%)                              3.511434  \n",
       "RMSE                                 1.761154  \n",
       "MAE                                  1.369341  \n",
       "running time (s)                   103.585210  "
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "running_time_univdorm=pd.DataFrame([lr_time_univdorm,svr_time_univdorm,ann_time_univdorm,\n",
    "                                   rf_time_univdorm,lstm_time_univdorm,ceemdan_rf_time_univdorm,\n",
    "                                   ceemdan_lstm_time_univdorm,proposed_method_time_univdorm])\n",
    "running_time_univdorm=running_time_univdorm.T\n",
    "running_time_univdorm.columns=['LR','SVR','ANN','RF','LSTM','CEEMDAN RF','CEEMDAN LSTM','Proposed Method']\n",
    "proposed_method_univdorm_df=proposed_method_univdorm[0:3]\n",
    "result_univdorm=pd.DataFrame([lr_univdorm,svr_univdorm,ann_univdorm,rf_univdorm,lstm_univdorm,ceemdan_rf_univdorm,\n",
    "                    ceemdan_lstm_univdorm,proposed_method_univdorm_df])\n",
    "result_univdorm=result_univdorm.T\n",
    "result_univdorm.columns=['LR','SVR','ANN','RF','LSTM','CEEMDAN RF','CEEMDAN LSTM','Proposed Method']\n",
    "univdorm_summary=pd.concat([result_univdorm,running_time_univdorm],axis=0)\n",
    "\n",
    "univdorm_summary.set_axis(['MAPE(%)', 'RMSE','MAE','running time (s)'], axis='index')\n",
    "\n",
    "univdorm_summary.style.set_caption(\"University Dormitory Results\")\n",
    "index = univdorm_summary.index\n",
    "index.name = \"university dormitory results\"\n",
    "univdorm_summary"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "#export table to png\n",
    "#dfi.export(univdorm_summary,\"univdorm_summary_table.png\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Calculate percentage improvement\n",
    "### Run this following cell will calculate percentage improvement and generate output used in Section 4.4 (Table 4) for University Dormitory dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Proposed Method vs.LR</th>\n",
       "      <th>Proposed Method vs.SVR</th>\n",
       "      <th>Proposed Method vs.ANN</th>\n",
       "      <th>Proposed Method vs.RF</th>\n",
       "      <th>Proposed Method vs.LSTM</th>\n",
       "      <th>Proposed Method vs.CEEMDAN RF</th>\n",
       "      <th>Proposed Method vs. CEEMDAN LSTM</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Percentage Improvement university dormitory</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>MAPE(%)</th>\n",
       "      <td>42.40</td>\n",
       "      <td>45.87</td>\n",
       "      <td>47.74</td>\n",
       "      <td>42.86</td>\n",
       "      <td>48.58</td>\n",
       "      <td>11.22</td>\n",
       "      <td>13.95</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>RMSE</th>\n",
       "      <td>43.03</td>\n",
       "      <td>47.99</td>\n",
       "      <td>48.04</td>\n",
       "      <td>44.48</td>\n",
       "      <td>49.22</td>\n",
       "      <td>12.28</td>\n",
       "      <td>14.91</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>MAE</th>\n",
       "      <td>42.97</td>\n",
       "      <td>47.13</td>\n",
       "      <td>48.14</td>\n",
       "      <td>43.79</td>\n",
       "      <td>48.86</td>\n",
       "      <td>11.70</td>\n",
       "      <td>13.71</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                             Proposed Method vs.LR  \\\n",
       "Percentage Improvement university dormitory                          \n",
       "MAPE(%)                                                      42.40   \n",
       "RMSE                                                         43.03   \n",
       "MAE                                                          42.97   \n",
       "\n",
       "                                             Proposed Method vs.SVR  \\\n",
       "Percentage Improvement university dormitory                           \n",
       "MAPE(%)                                                       45.87   \n",
       "RMSE                                                          47.99   \n",
       "MAE                                                           47.13   \n",
       "\n",
       "                                              Proposed Method vs.ANN  \\\n",
       "Percentage Improvement university dormitory                            \n",
       "MAPE(%)                                                        47.74   \n",
       "RMSE                                                           48.04   \n",
       "MAE                                                            48.14   \n",
       "\n",
       "                                             Proposed Method vs.RF  \\\n",
       "Percentage Improvement university dormitory                          \n",
       "MAPE(%)                                                      42.86   \n",
       "RMSE                                                         44.48   \n",
       "MAE                                                          43.79   \n",
       "\n",
       "                                             Proposed Method vs.LSTM  \\\n",
       "Percentage Improvement university dormitory                            \n",
       "MAPE(%)                                                        48.58   \n",
       "RMSE                                                           49.22   \n",
       "MAE                                                            48.86   \n",
       "\n",
       "                                             Proposed Method vs.CEEMDAN RF  \\\n",
       "Percentage Improvement university dormitory                                  \n",
       "MAPE(%)                                                              11.22   \n",
       "RMSE                                                                 12.28   \n",
       "MAE                                                                  11.70   \n",
       "\n",
       "                                             Proposed Method vs. CEEMDAN LSTM  \n",
       "Percentage Improvement university dormitory                                    \n",
       "MAPE(%)                                                                 13.95  \n",
       "RMSE                                                                    14.91  \n",
       "MAE                                                                     13.71  "
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pMAPE_LR_vs_Proposed_univdorm=((lr_univdorm[0]-proposed_method_univdorm[0])/lr_univdorm[0])*100\n",
    "pRMSE_LR_vs_Proposed_univdorm=((lr_univdorm[1]-proposed_method_univdorm[1])/lr_univdorm[1])*100\n",
    "pMAE_LR_vs_Proposed_univdorm=((lr_univdorm[2]-proposed_method_univdorm[2])/lr_univdorm[2])*100\n",
    "\n",
    "pMAPE_SVR_vs_Proposed_univdorm=((svr_univdorm[0]-proposed_method_univdorm[0])/svr_univdorm[0])*100\n",
    "pRMSE_SVR_vs_Proposed_univdorm=((svr_univdorm[1]-proposed_method_univdorm[1])/svr_univdorm[1])*100\n",
    "pMAE_SVR_vs_Proposed_univdorm=((svr_univdorm[2]-proposed_method_univdorm[2])/svr_univdorm[2])*100\n",
    "\n",
    "pMAPE_ANN_vs_Proposed_univdorm=((ann_univdorm[0]-proposed_method_univdorm[0])/ann_univdorm[0])*100\n",
    "pRMSE_ANN_vs_Proposed_univdorm=((ann_univdorm[1]-proposed_method_univdorm[1])/ann_univdorm[1])*100\n",
    "pMAE_ANN_vs_Proposed_univdorm=((ann_univdorm[2]-proposed_method_univdorm[2])/ann_univdorm[2])*100\n",
    "\n",
    "pMAPE_RF_vs_Proposed_univdorm=((rf_univdorm[0]-proposed_method_univdorm[0])/rf_univdorm[0])*100\n",
    "pRMSE_RF_vs_Proposed_univdorm=((rf_univdorm[1]-proposed_method_univdorm[1])/rf_univdorm[1])*100\n",
    "pMAE_RF_vs_Proposed_univdorm=((rf_univdorm[2]-proposed_method_univdorm[2])/rf_univdorm[2])*100\n",
    "\n",
    "pMAPE_LSTM_vs_Proposed_univdorm=((lstm_univdorm[0]-proposed_method_univdorm[0])/lstm_univdorm[0])*100\n",
    "pRMSE_LSTM_vs_Proposed_univdorm=((lstm_univdorm[1]-proposed_method_univdorm[1])/lstm_univdorm[1])*100\n",
    "pMAE_LSTM_vs_Proposed_univdorm=((lstm_univdorm[2]-proposed_method_univdorm[2])/lstm_univdorm[2])*100\n",
    "\n",
    "pMAPE_ceemdan_rf_vs_Proposed_univdorm=((ceemdan_rf_univdorm[0]-proposed_method_univdorm[0])/ceemdan_rf_univdorm[0])*100\n",
    "pRMSE_ceemdan_rf_vs_Proposed_univdorm=((ceemdan_rf_univdorm[1]-proposed_method_univdorm[1])/ceemdan_rf_univdorm[1])*100\n",
    "pMAE_ceemdan_rf_vs_Proposed_univdorm=((ceemdan_rf_univdorm[2]-proposed_method_univdorm[2])/ceemdan_rf_univdorm[2])*100\n",
    "\n",
    "\n",
    "pMAPE_ceemdan_lstm_vs_Proposed_univdorm=((ceemdan_lstm_univdorm[0]-proposed_method_univdorm[0])/ceemdan_lstm_univdorm[0])*100\n",
    "pRMSE_ceemdan_lstm_vs_Proposed_univdorm=((ceemdan_lstm_univdorm[1]-proposed_method_univdorm[1])/ceemdan_lstm_univdorm[1])*100\n",
    "pMAE_ceemdan_lstm_vs_Proposed_univdorm=((ceemdan_lstm_univdorm[2]-proposed_method_univdorm[2])/ceemdan_lstm_univdorm[2])*100\n",
    "\n",
    "\n",
    "df_PI_univdorm=[[pMAPE_LR_vs_Proposed_univdorm,pMAPE_SVR_vs_Proposed_univdorm,pMAPE_ANN_vs_Proposed_univdorm,\n",
    "                pMAPE_RF_vs_Proposed_univdorm,pMAPE_LSTM_vs_Proposed_univdorm,pMAPE_ceemdan_rf_vs_Proposed_univdorm,\n",
    "                pMAPE_ceemdan_lstm_vs_Proposed_univdorm],\n",
    "                [pRMSE_LR_vs_Proposed_univdorm,pRMSE_SVR_vs_Proposed_univdorm,pRMSE_ANN_vs_Proposed_univdorm,\n",
    "                pRMSE_RF_vs_Proposed_univdorm,pRMSE_LSTM_vs_Proposed_univdorm,pRMSE_ceemdan_rf_vs_Proposed_univdorm,\n",
    "                pRMSE_ceemdan_lstm_vs_Proposed_univdorm],\n",
    "                [pMAE_LR_vs_Proposed_univdorm,pMAE_SVR_vs_Proposed_univdorm,pMAE_ANN_vs_Proposed_univdorm,\n",
    "                pMAE_RF_vs_Proposed_univdorm,pMAE_LSTM_vs_Proposed_univdorm,pMAE_ceemdan_rf_vs_Proposed_univdorm,\n",
    "                pMAE_ceemdan_lstm_vs_Proposed_univdorm]]\n",
    "\n",
    "PI_univdorm=pd.DataFrame(df_PI_univdorm, columns=[\"Proposed Method vs.LR\", \"Proposed Method vs.SVR\",\" Proposed Method vs.ANN\",\n",
    "                                      \"Proposed Method vs.RF\",\"Proposed Method vs.LSTM\",\"Proposed Method vs.CEEMDAN RF\",\n",
    "                                      \"Proposed Method vs. CEEMDAN LSTM\"])\n",
    "PI_univdorm= PI_univdorm.round(decimals = 2)\n",
    "PI_univdorm.set_axis(['MAPE(%)', 'RMSE','MAE'], axis='index')\n",
    "PI_univdorm.style.set_caption(\"Percentage Improvement-University Dormitory Building\")\n",
    "index = PI_univdorm.index\n",
    "index.name = \"Percentage Improvement university dormitory\"\n",
    "PI_univdorm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "#export table to png\n",
    "#dfi.export(PI_univdorm,\"PI_univdorm_table.png\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
